﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Community.CsharpSqlite
{
    class FileOpenOperation
    {

        /*
    ** CAPI3REF: Flags For File Open Operations
    **
    ** These bit values are intended for use in the
    ** 3rd parameter to the [sqlite3_open_v2()] interface and
    ** in the 4th parameter to the xOpen method of the
    ** [sqlite3_vfs] object.
    */
        //#define SQLITE_OPEN_READONLY         0x00000001  /* Ok for sqlite3_open_v2() */
        //#define SQLITE_OPEN_READWRITE        0x00000002  /* Ok for sqlite3_open_v2() */
        //#define SQLITE_OPEN_CREATE           0x00000004  /* Ok for sqlite3_open_v2() */
        //#define SQLITE_OPEN_DELETEONCLOSE    0x00000008  /* VFS only */
        //#define SQLITE_OPEN_EXCLUSIVE        0x00000010  /* VFS only */
        //#define SQLITE_OPEN_AUTOPROXY        0x00000020  /* VFS only */
        //#define SQLITE_OPEN_MAIN_DB          0x00000100  /* VFS only */
        //#define SQLITE_OPEN_TEMP_DB          0x00000200  /* VFS only */
        //#define SQLITE_OPEN_TRANSIENT_DB     0x00000400  /* VFS only */
        //#define SQLITE_OPEN_MAIN_JOURNAL     0x00000800  /* VFS only */
        //#define SQLITE_OPEN_TEMP_JOURNAL     0x00001000  /* VFS only */
        //#define SQLITE_OPEN_SUBJOURNAL       0x00002000  /* VFS only */
        //#define SQLITE_OPEN_MASTER_JOURNAL   0x00004000  /* VFS only */
        //#define SQLITE_OPEN_NOMUTEX          0x00008000  /* Ok for sqlite3_open_v2() */
        //#define SQLITE_OPEN_FULLMUTEX        0x00010000  /* Ok for sqlite3_open_v2() */
        //#define SQLITE_OPEN_SHAREDCACHE      0x00020000  /* Ok for sqlite3_open_v2() */
        //#define SQLITE_OPEN_PRIVATECACHE     0x00040000  /* Ok for sqlite3_open_v2() */
        public const int SQLITE_OPEN_READONLY = 0x00000001;
        public const int SQLITE_OPEN_READWRITE = 0x00000002;
        public const int SQLITE_OPEN_CREATE = 0x00000004;
        public const int SQLITE_OPEN_DELETEONCLOSE = 0x00000008;
        public const int SQLITE_OPEN_EXCLUSIVE = 0x00000010;
        public const int SQLITE_OPEN_AUTOPROXY = 0x00000020;
        public const int SQLITE_OPEN_MAIN_DB = 0x00000100;
        public const int SQLITE_OPEN_TEMP_DB = 0x00000200;
        public const int SQLITE_OPEN_TRANSIENT_DB = 0x00000400;
        public const int SQLITE_OPEN_MAIN_JOURNAL = 0x00000800;
        public const int SQLITE_OPEN_TEMP_JOURNAL = 0x00001000;
        public const int SQLITE_OPEN_SUBJOURNAL = 0x00002000;
        public const int SQLITE_OPEN_MASTER_JOURNAL = 0x00004000;
        public const int SQLITE_OPEN_NOMUTEX = 0x00008000;
        public const int SQLITE_OPEN_FULLMUTEX = 0x00010000;
        public const int SQLITE_OPEN_SHAREDCACHE = 0x00020000;
        public const int SQLITE_OPEN_PRIVATECACHE = 0x00040000;
    }
}
